﻿using FarseerPhysics.Common;
using FarseerPhysics.Dynamics;
using FarseerPhysics.Factories;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System.Collections.Generic;
using System;

namespace FarseerPhysics.SamplesFramework
{

    public interface IAction
    {
        void Update(Actor actor);
    }

    public class Action : IAction
    {
        public void Update(Actor actor)
        {
 	        throw new NotImplementedException();
        }
    }

    public class ActionManager
    {
        private static Action _none;
        public static Action None {
            get {
                if (_none == null)
                    _none = new Action();
                return _none;
            }
        }
    }

    //public class ActionEmpty : IAction
    //{
    //    private List<FunctionKeys> _command;
    //    public List<FunctionKeys> Command
    //    {
    //        get
    //        {
    //            return _command;
    //        }
    //        set
    //        {
    //            _command = value;
    //        }
    //    }

    //    private CommandPriorities _commandPriority;
    //    public CommandPriorities CommandPriority
    //    {
    //        get
    //        {
    //            return _commandPriority;
    //        }
    //        set
    //        {
    //            _commandPriority = value;
    //        }
    //    }

    //    private Poses _conditonPose;
    //    public Poses ConditionPose
    //    {
    //        get
    //        {
    //            return _conditonPose;
    //        }
    //        set
    //        {
    //            _conditonPose = value;
    //        }
    //    }

    //    private Poses _pose;
    //    public Poses Pose
    //    {
    //        get
    //        {
    //            return _pose;
    //        }
    //        set
    //        {
    //            _pose = value;
    //        }
    //    }

    //    private int _higherPriorityTime;
    //    public int HigherPriorityTime
    //    {
    //        get
    //        {
    //            return _higherPriorityTime;
    //        }
    //        set
    //        {
    //            _higherPriorityTime = value;
    //        }
    //    }

    //    private int _totalStop;
    //    public int TotalStop
    //    {
    //        get
    //        {
    //            return _totalStop;
    //        }
    //        set
    //        {
    //            _totalStop = value;
    //        }
    //    }

    //    private int _chainStop;
    //    public int ChainStop
    //    {
    //        get
    //        {
    //            return _chainStop;
    //        }
    //        set
    //        {
    //            _chainStop = value;
    //        }
    //    }

    //    private int _jumpStop;
    //    public int JumpStop
    //    {
    //        get
    //        {
    //            return _jumpStop;
    //        }
    //        set
    //        {
    //            _jumpStop = value;
    //        }
    //    }

    //    private Poses _hitPose;
    //    public Poses HitPose
    //    {
    //        get
    //        {
    //            return _hitPose;
    //        }
    //        set
    //        {
    //            _hitPose = value;
    //        }
    //    }

    //    private int _hitStop;
    //    public int HitStop
    //    {
    //        get
    //        {
    //            return _hitStop;
    //        }
    //        set
    //        {
    //            _hitStop = value;
    //        }
    //    }

    //    private Vector2 _hitImpulse;
    //    public Vector2 HitImpulse
    //    {
    //        get
    //        {
    //            return _hitImpulse;
    //        }
    //        set
    //        {
    //            _hitImpulse = value;
    //        }
    //    }
    //}
}